package com.example.haikangdemo.service;

import java.io.IOException;

import com.example.haikangdemo.configuration.HCNetSDK;
import com.sun.jna.Pointer;

/**
 * @author HuangLongFei
 * @since 2023/09/23
 **/
public interface HaiKangListenService {

    /**
     * 接收设备上传的报警信息
     *
     * @param lCommand 上传消息类型
     * @param pAlarmer 报警设备信息
     * @param pAlarmInfo 报警信息
     * @param dwBufLen 报警信息缓存大小
     * @param pUser 用户数据
     */
    void alarmDataHandle(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen,
        Pointer pUser) throws IOException;

    /**
     * 登录设备
     *
     * @param ip ip地址
     * @param port 端口号
     * @param userName 用户名
     * @param password 密码
     * @return 用户userId
     * @author HuangLongFei
     * @since 2023/10/9
     */
    int deviceRegister(String ip, int port, String userName, String password);

    /**
     * 布放及监听
     *
     * @param lUserID 用户userId,登录后返回
     * @author HuangLongFei
     * @since 2023/10/9
     */
    void placement(int lUserID);
}